package com.itany.corejava.code08_常用类.泛型;

/**
 * @author 石小俊
 * @date 2023年04月28日 15:50
 */
public class Test01_泛型类 {
    public static void main(String[] args) {
        Student<Integer> student = new Student<Integer>();
        student.setNo(1);

        Student<String> student2 = new Student<>();
        student2.setName("1");

        Stu stu = new Stu();
        // 使用Object也可以指定任意类型
        // 但是该方式需要进行转换,缺乏类型安全,不建议使用
        stu.setNo(1);
        stu.setNo("1");
        stu.setNo(student);
    }
}

class Student<T> {
    private T no;
    private String name;

    public Student() {
    }

    public Student(T no, String name) {
        this.no = no;
        this.name = name;
    }

    public T getNo() {
        return no;
    }

    public void setNo(T no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

class Stu {
    private Object no;

    public Object getNo() {
        return no;
    }

    public void setNo(Object no) {
        this.no = no;
    }
}